package Escenario;
import java.util.*;


public class CarrilAparcamientoImpl extends CarrilImpl implements CarrilAparcamiento{
	private List<AparcamientoImpl> aparcamientos;
	
	public CarrilAparcamientoImpl(double ini, double fi, double anc, List<AparcamientoImpl> aparcam){
		super(ini,fi,anc);
	    aparcamientos = aparcam;
	}
	
	public List<AparcamientoImpl> getAparcamientos(){
		return aparcamientos;
	}
	public AparcamientoImpl buscaLibreCercano(ParCV actual){
		
		Integer numAparcamientos = aparcamientos.size();
		AparcamientoImpl res = null;
		boolean continua = true;
		double pos = actual.getEstadoActual().getPosicion();
		double distinfluencia = actual.getDistanciaInfluenciaEstatica();
		
		for(int i=0;i<numAparcamientos && continua;i++){
			
			AparcamientoImpl apactual = aparcamientos.get(i);
			
			if(apactual.getPosicion()>=pos && apactual.getPosicion()<=(pos+distinfluencia) && apactual.getLibre()){
				res = apactual;
				continua=false;
			}
		}
		
		return res;
	}
	
	public String toString(){
		String s = super.toString()+" ListaAparcamientos:"+aparcamientos;
		return s;
	}
}